﻿using Credinka.Ayni.GEN.UTL;
using Credinka.Ayni.SEA.EN;
using Credinka.Ayni.SEA.RN;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Linq;
using System.Text;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class Modulos_SEA_Alerta : System.Web.UI.Page
{
    private int iNumeroRegistrosMostrar = Int32.Parse(ConfigurationManager.AppSettings["NumeroRegistrosMostrar"]);
    private int iTotalRegistros;
    rnAlerta ornAlerta = new rnAlerta();
    enAlerta oenAlerta;
    List<enAlerta> loenAlerta;
    private utlPaginacion outlPaginacion;
    private rnDescripcion ornDescripcion;

    #region Métodos

    private void ListarAlerta(int piPaginaActual)
    {
        oenAlerta = new enAlerta();
        ornAlerta = new rnAlerta();
        oenAlerta.NumeroPagina = piPaginaActual;
        oenAlerta.NumeroRegistros = iNumeroRegistrosMostrar;
        oenAlerta.Nombre = txtNombre.Value;
        oenAlerta.Descripcion = txtDescripcion.Value;
        oenAlerta.CodigoEstado = ddlEstado.SelectedValue == string.Empty ? -1 : int.Parse(ddlEstado.SelectedValue);
        loenAlerta = new List<enAlerta>();
        loenAlerta = ornAlerta.Listar(oenAlerta);
        lblTotalRegistros.Text = loenAlerta.Count.ToString();
        registros.Visible = loenAlerta.Count == 0 ? true : false;
        rptAlerta.DataSource = loenAlerta;
        rptAlerta.DataBind();
    }

    private void Paginar()
    {
        int iPaginaActual;
        iPaginaActual = hdfPaginaActual.Value == "" ? 1 : Int32.Parse(hdfPaginaActual.Value);
        hdfPaginaActual.Value = iPaginaActual.ToString();
        ListarAlerta(iPaginaActual);
        outlPaginacion = new utlPaginacion(iTotalRegistros, iNumeroRegistrosMostrar, iPaginaActual, lblTotalPaginas, litPaginacion, hdfPaginaActual, btnAyuda);
        outlPaginacion.Paginar();
    }

    private void CargarEstado()
    {
        ornDescripcion = new rnDescripcion();
        ddlEstado.DataSource = ornDescripcion.ListarEstado();
        ddlEstado.DataTextField = "Descripcion";
        ddlEstado.DataValueField = "CodigoElemento";
        ddlEstado.DataBind();
        ddlEstado.Items.Insert(0, new ListItem("TODOS", "0"));
    }

    #endregion

    #region Eventos

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            CargarEstado();
        }
    }

    protected void btnBuscar_Click(object sender, EventArgs e)
    {
        // Botonera(btnEliminar, "button2", false);
        mensajeBusqueda.Visible = false;
        hdfPaginaActual.Value = "1";
        Paginar();
    }

    protected void btnAyuda_Click(object sender, EventArgs e)
    {
        Paginar();
    }

    protected void btnSi_Click(object sender, EventArgs e)
    {
        try
        {
            oenAlerta = new enAlerta();
            ornAlerta = new rnAlerta();
            oenAlerta.IdAlerta = int.Parse(hdfPerfil.Value);
            oenAlerta.AudIPModificacion = utlAuditoria.ObtenerDireccionIP();
            oenAlerta.AudMacModificacion = utlAuditoria.ObtenerDireccionMAC();
            oenAlerta.AudNombreUsuarioModificacion = utlAuditoria.ObtenerUsuarioDominio();
            //int idPerfil = ornAlerta.Eliminar(oenAlerta);
            //if (idPerfil != -1)
            //{
            //    StringBuilder sb = new StringBuilder();
            //    sb.Append(@"<script language='javascript'>");
            //    sb.Append(@"var lbl =  AbrirModal('330', '210', true, false, '#confirmacion', true);");
            //    sb.Append(@"$('#confirmacion').css('display', 'block');");
            //    sb.Append(@"</script>");
            //    ClientScript.RegisterStartupScript(this.GetType(), "JSScript", sb.ToString());
            //}
        }
        catch (Exception)
        {
            throw;
        }
    }

    #endregion
}